package org.ventura.sistemafinanciero.entity;

// Generated 02-may-2014 11:48:28 by Hibernate Tools 4.0.0

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * HistorialBoveda generated by hbm2java
 */
@Entity
@Table(name = "HISTORIAL_BOVEDA", schema = "BDSISTEMAFINANCIERO")
@NamedQueries({ @NamedQuery(name = HistorialBoveda.findByHistorialActivo, query = "SELECT h FROM HistorialBoveda h WHERE h.boveda.idBoveda = :idboveda AND h.estado = 1") })
public class HistorialBoveda implements java.io.Serializable {

	public final static String findByHistorialActivo = "HistorialBoveda.findByHistorialActivo";

	private BigDecimal idHistorialBoveda;
	private Boveda boveda;
	private Date fechaApertura;
	private Date fechaCierre;
	private Date horaApertura;
	private Date horaCierre;
	private BigDecimal estado;
	private Set transaccionBovedaCajas = new HashSet(0);
	private Set detalleHistorialBovedas = new HashSet(0);
	private Set transaccionBovedaOtros = new HashSet(0);

	public HistorialBoveda() {
	}

	public HistorialBoveda(BigDecimal idHistorialBoveda, Boveda boveda,
			Date fechaApertura, Date horaApertura, BigDecimal estado) {
		this.idHistorialBoveda = idHistorialBoveda;
		this.boveda = boveda;
		this.fechaApertura = fechaApertura;
		this.horaApertura = horaApertura;
		this.estado = estado;
	}

	public HistorialBoveda(BigDecimal idHistorialBoveda, Boveda boveda,
			Date fechaApertura, Date fechaCierre, Date horaApertura,
			Date horaCierre, BigDecimal estado, Set transaccionBovedaCajas,
			Set detalleHistorialBovedas, Set transaccionBovedaOtros) {
		this.idHistorialBoveda = idHistorialBoveda;
		this.boveda = boveda;
		this.fechaApertura = fechaApertura;
		this.fechaCierre = fechaCierre;
		this.horaApertura = horaApertura;
		this.horaCierre = horaCierre;
		this.estado = estado;
		this.transaccionBovedaCajas = transaccionBovedaCajas;
		this.detalleHistorialBovedas = detalleHistorialBovedas;
		this.transaccionBovedaOtros = transaccionBovedaOtros;
	}

	@Id
	@Column(name = "ID_HISTORIAL_BOVEDA", unique = true, nullable = false, precision = 22, scale = 0)
	public BigDecimal getIdHistorialBoveda() {
		return this.idHistorialBoveda;
	}

	public void setIdHistorialBoveda(BigDecimal idHistorialBoveda) {
		this.idHistorialBoveda = idHistorialBoveda;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_BOVEDA", nullable = false)
	public Boveda getBoveda() {
		return this.boveda;
	}

	public void setBoveda(Boveda boveda) {
		this.boveda = boveda;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FECHA_APERTURA", nullable = false, length = 7)
	public Date getFechaApertura() {
		return this.fechaApertura;
	}

	public void setFechaApertura(Date fechaApertura) {
		this.fechaApertura = fechaApertura;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FECHA_CIERRE", length = 7)
	public Date getFechaCierre() {
		return this.fechaCierre;
	}

	public void setFechaCierre(Date fechaCierre) {
		this.fechaCierre = fechaCierre;
	}

	@Column(name = "HORA_APERTURA", nullable = false)
	public Date getHoraApertura() {
		return this.horaApertura;
	}

	public void setHoraApertura(Date horaApertura) {
		this.horaApertura = horaApertura;
	}

	@Column(name = "HORA_CIERRE")
	public Date getHoraCierre() {
		return this.horaCierre;
	}

	public void setHoraCierre(Date horaCierre) {
		this.horaCierre = horaCierre;
	}

	@Column(name = "ESTADO", nullable = false, precision = 22, scale = 0)
	public BigDecimal getEstado() {
		return this.estado;
	}

	public void setEstado(BigDecimal estado) {
		this.estado = estado;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "historialBoveda")
	public Set<TransaccionBovedaCaja> getTransaccionBovedaCajas() {
		return this.transaccionBovedaCajas;
	}

	public void setTransaccionBovedaCajas(Set transaccionBovedaCajas) {
		this.transaccionBovedaCajas = transaccionBovedaCajas;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "historialBoveda")
	public Set<DetalleHistorialBoveda> getDetalleHistorialBovedas() {
		return this.detalleHistorialBovedas;
	}

	public void setDetalleHistorialBovedas(Set detalleHistorialBovedas) {
		this.detalleHistorialBovedas = detalleHistorialBovedas;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "historialBoveda")
	public Set<TransaccionBovedaOtro> getTransaccionBovedaOtros() {
		return this.transaccionBovedaOtros;
	}

	public void setTransaccionBovedaOtros(Set transaccionBovedaOtros) {
		this.transaccionBovedaOtros = transaccionBovedaOtros;
	}

}
